package cn.zd.erp.util.base;

import java.io.Serializable;
import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import cn.zd.erp.auth.user.vo.Tuser;
@Transactional
public interface BaseEbi<T, B> {
	/**
	 * 保存实体T
	 * @param t
	 */
	public void save(T t);

	/**
	 * 更新实体T
	 * @param t
	 */
	public void update(T t);

	/**
	 * 删除
	 * @param t
	 */
	public void delete(T t);
	
	/**
	 * 得到全部实体
	 * @param t
	 */
	public List<T> getAll();

	/**
	 * 通过id查找实体
	 * @param t
	 */
	public T get(Serializable uuid);
	
	/**
	 * 通过name查找实体
	 * @param t
	 */
	public T getByName(String name);
	
	/**
	 * 传入用户和分页信息查询list
	 * @param t
	 */
	public List<T> dataGrid(T t, PageFilter ph);

	/**
	 * 返回list
	 * @param t
	 */
	public List<Tree> getTree();

	public PageResults<B> dataGridCount(T t, int page, String sort,
			int rows, String order);
}
